public class Solution2 {
    public int lengthOfLongestSubstring(String s) {
        char[] ss = s.toCharArray();//字符串转为字符数组
        int[] hash = new int[128]; //用数组模拟哈希表

        int len = 0;
        for(int left=0,right=0;right<s.length();right++) {
            //进窗口
            hash[ss[right]]++;
            while(hash[ss[right]]>1) {//有重复字符
                //删除
                hash[ss[left]]--;
                //出窗口
                left++;
            }
            //更新结果
            len = Math.max(len,right-left+1);
        }
        return len;
    }
}
